// <copyright file="TeamTest.cs" company="Open Source"></copyright>

using System;
using _22yards.Core;
using Microsoft.Pex.Framework;
using Microsoft.Pex.Framework.Validation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using Microsoft.ExtendedReflection.DataAccess;

namespace _22yards.Core
{
    [TestClass]
    [PexClass(typeof(Team))]
    [PexAllowedExceptionFromTypeUnderTest(typeof(ArgumentException), AcceptExceptionSubtypes = true)]
    [PexAllowedExceptionFromTypeUnderTest(typeof(InvalidOperationException))]
    public partial class TeamTest
    {
        [PexMethod]
        public string UnmarkPlayerInPlaying11([PexAssumeUnderTest]Team target, cPlayer player)
        {
            string result = target.UnmarkPlayerInPlaying11(player);
            return result;
            // TODO: add assertions to method TeamTest.UnmarkPlayerInPlaying11(Team, cPlayer)
        }
        [PexMethod]
        public string UnmarkPlayerAsWicketKeeper([PexAssumeUnderTest]Team target, cPlayer player)
        {
            string result = target.UnmarkPlayerAsWicketKeeper(player);
            return result;
            // TODO: add assertions to method TeamTest.UnmarkPlayerAsWicketKeeper(Team, cPlayer)
        }
        [PexMethod]
        public string UnmarkPlayerAsExtra([PexAssumeUnderTest]Team target, cPlayer player)
        {
            string result = target.UnmarkPlayerAsExtra(player);
            return result;
            // TODO: add assertions to method TeamTest.UnmarkPlayerAsExtra(Team, cPlayer)
        }
        [PexMethod(MaxConstraintSolverTime = 2)]
        public void removePlayerFromSquad([PexAssumeUnderTest]Team target, cPlayer player)
        {
            target.removePlayerFromSquad(player);
            // TODO: add assertions to method TeamTest.removePlayerFromSquad(Team, cPlayer)
        }
        [PexMethod]
        public string markPlayerInPlaying11([PexAssumeUnderTest]Team target, cPlayer player)
        {
            string result = target.markPlayerInPlaying11(player);
            return result;
            // TODO: add assertions to method TeamTest.markPlayerInPlaying11(Team, cPlayer)
        }
        [PexMethod]
        public string markPlayerAsWicketKeeper([PexAssumeUnderTest]Team target, cPlayer player)
        {
            string result = target.markPlayerAsWicketKeeper(player);
            return result;
            // TODO: add assertions to method TeamTest.markPlayerAsWicketKeeper(Team, cPlayer)
        }
        [PexMethod]
        public string markPlayerAsExtra([PexAssumeUnderTest]Team target, cPlayer player)
        {
            string result = target.markPlayerAsExtra(player);
            return result;
            // TODO: add assertions to method TeamTest.markPlayerAsExtra(Team, cPlayer)
        }
        [PexMethod, PexAllowedException(typeof(TermDestructionException))]
        public void LoadTeamFromXML(
            [PexAssumeUnderTest]Team target,
            int TeamID
        )
        {
            target.LoadTeamFromXML(TeamID);
            // TODO: add assertions to method TeamTest.LoadTeamFromXML(Team, Int32, String)
        }
        [PexMethod, PexAllowedException(typeof(TermDestructionException))]
        public void loadPlayerInSquad([PexAssumeUnderTest]Team target, cPlayer player)
        {
            target.loadPlayerInSquad(player);
            // TODO: add assertions to method TeamTest.loadPlayerInSquad(Team, cPlayer)
        }
        [PexMethod]
        public void LoadIntlPlayersFromXML(
            ref Team _team,
            int regionID,
            int CountryID
        )
        {
            Team.LoadIntlPlayersFromXML(ref _team, regionID, CountryID);
            // TODO: add assertions to method TeamTest.LoadIntlPlayersFromXML(Team&, Int32, Int32, String)
        }
        [PexMethod]
        public void initTeam([PexAssumeUnderTest]Team target, int __teamNumber)
        {
            target.initTeam();
            // TODO: add assertions to method TeamTest.initTeam(Team, Int32)
        }
        [PexMethod(MaxConditions = 1000)]
        public string getTeamTypeNameFromTeamID([PexAssumeUnderTest]Team target)
        {
            string result = target.getTeamTypeNameFromTeamID();
            return result;
            // TODO: add assertions to method TeamTest.getTeamTypeNameFromTeamID(Team)
        }
        [PexMethod, PexAllowedException(typeof(TermDestructionException))]
        public int getTeamTypeIDFromTeamID([PexAssumeUnderTest]Team target)
        {
            int result = target.getTeamTypeIDFromTeamID();
            return result;
            // TODO: add assertions to method TeamTest.getTeamTypeIDFromTeamID(Team)
        }
        [PexMethod]
        public short GetTeamOverallPoints([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamOverallPoints();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamOverallPoints(Team)
        }
        [PexMethod(MaxConditions = 1000)]
        public string getTeamNamefromTeamID(int CompleteTeamID)
        {
            string result = Team.getTeamNamefromTeamID(CompleteTeamID);
            return result;
            // TODO: add assertions to method TeamTest.getTeamNamefromTeamID(Int32)
        }
        [PexMethod]
        public List<int> GetTeamIDsBasedOnType(int typeID)
        {
            List<int> result = Team.GetTeamIDsBasedOnType(typeID);
            return result;
            // TODO: add assertions to method TeamTest.GetTeamIDsBasedOnType(Int32)
        }
        [PexMethod]
        public short GetTeamFieldingPoints([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamFieldingPoints();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamFieldingPoints(Team)
        }
        [PexMethod]
        public short GetTeamCurrentOverallForm([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamCurrentOverallForm();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamCurrentOverallForm(Team)
        }
        [PexMethod, PexAllowedException(typeof(TermDestructionException))]
        public short GetTeamCurrentFieldingConfidence([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamCurrentFieldingConfidence();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamCurrentFieldingConfidence(Team)
        }
        [PexMethod]
        public short GetTeamCurrentBowlingConfidence([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamCurrentBowlingConfidence();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamCurrentBowlingConfidence(Team)
        }
        [PexMethod]
        public short GetTeamCurrentBattingConfidence([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamCurrentBattingConfidence();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamCurrentBattingConfidence(Team)
        }
        [PexMethod(MaxConstraintSolverTime = 2)]
        public short GetTeamBowlingPoints([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamBowlingPoints();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamBowlingPoints(Team)
        }
        [PexMethod(MaxConstraintSolverTime = 2)]
        public short GetTeamBattingPoints([PexAssumeUnderTest]Team target)
        {
            short result = target.GetTeamBattingPoints();
            return result;
            // TODO: add assertions to method TeamTest.GetTeamBattingPoints(Team)
        }
        [PexMethod(MaxConditions = 1000)]
        public string getRegionNameFromTeamID([PexAssumeUnderTest]Team target)
        {
            string result = target.getRegionNameFromTeamID();
            return result;
            // TODO: add assertions to method TeamTest.getRegionNameFromTeamID(Team)
        }
        [PexMethod]
        public short getRegionIDFromTeamID([PexAssumeUnderTest]Team target)
        {
            short result = target.getRegionIDFromTeamID();
            return result;
            // TODO: add assertions to method TeamTest.getRegionIDFromTeamID(Team)
        }
        [PexMethod(MaxConditions = 1000)]
        public string getCountryNameFromTeamID([PexAssumeUnderTest]Team target)
        {
            string result = target.getCountryNameFromTeamID();
            return result;
            // TODO: add assertions to method TeamTest.getCountryNameFromTeamID(Team)
        }
        [PexMethod]
        public short getCountryIDFromTeamID([PexAssumeUnderTest]Team target)
        {
            short result = target.getCountryIDFromTeamID();
            return result;
            // TODO: add assertions to method TeamTest.getCountryIDFromTeamID(Team)
        }
        [PexMethod, PexAllowedException(typeof(TermDestructionException))]
        public void FirstBattingSet([PexAssumeUnderTest]Team target, bool value)
        {
            target.FirstBatting = value;
            // TODO: add assertions to method TeamTest.FirstBattingSet(Team, Boolean)
        }
        [PexMethod, PexAllowedException(typeof(TermDestructionException))]
        public bool FirstBattingGet([PexAssumeUnderTest]Team target)
        {
            bool result = target.FirstBatting;
            return result;
            // TODO: add assertions to method TeamTest.FirstBattingGet(Team)
        }
        [PexMethod]
        public void CurrentTeamBattingSet([PexAssumeUnderTest]Team target, bool value)
        {
            target.CurrentTeamBatting = value;
            // TODO: add assertions to method TeamTest.CurrentTeamBattingSet(Team, Boolean)
        }
        [PexMethod]
        public bool CurrentTeamBattingGet([PexAssumeUnderTest]Team target)
        {
            bool result = target.CurrentTeamBatting;
            return result;
            // TODO: add assertions to method TeamTest.CurrentTeamBattingGet(Team)
        }
        [PexMethod]
        public Team Constructor()
        {
            Team target = new Team();
            return target;
            // TODO: add assertions to method TeamTest.Constructor()
        }
    }
}
